package IMIC.NGUYENVANDOAN.OOP.EXCERCISEDEMO.EX02;

public class Models {
    /***
     * Nghiệp vụ xử lý tính toán Cộng - Trừ - Nhân - Chia
     * @param objCal
     * + objCal.Opt = 0: Cộng; 
     * + objCal.Opt = 1: Trừ; 
     * + objCal.Opt = 2: Nhân; 
     * + objCal.Opt = 3: Chia; 
     * @return
     */
    public double Calculators(CalculatorInfo objCal) {
        // 1. Khai báo tường mình biến nhận KQ
        double result = 0;

        // 2. Kiểm tra & xử lý với từng trường hợp
        switch (objCal.getOpt()) {
        // TH: Tính toán cộng
        case 0:
            result = (objCal.getA() + objCal.getB());
            break;
        case 1:
            result = (objCal.getA() - objCal.getB());
            break;
        case 2:
            result = (objCal.getA() * objCal.getB());
            break;
        case 3:
            result = (objCal.getA() / objCal.getB());
            break;
        }

        // 3. Trả kết quả về cho Apps
        return result;
    }

    public double Calculators(double a, double b, short Opt) {
        // 1. Khai báo tường mình biến nhận KQ
        double result = 0;

        // 2. Kiểm tra & xử lý với từng trường hợp
        switch (Opt) {
        // TH: Tính toán cộng
        case 0:
            result = (a + b);
            break;
        case 1:
            result = (a - b);
            break;
        case 2:
            result = (a * b);
            break;
        case 3:
            result = (a / b);
            break;
        }

        // 3. Trả kết quả về cho Apps
        return result;
    }
}
